A telecommunications network 1 will be described schematically with respect to FIGS. 1 and 2. Network 1 may include nodes 14, 15 for routing calls from telephone or mobile phone subscribers. Within the network 1, a central data base server (CDBS) 2 allows provisioning of the central database itself (the CDBS database), propagating user data updates to different nodes 14, 15 of the network at a user determined refresh rate, creation of back-up records, e.g. magnetic tapes, to load new or faulty nodes of the network and provides maintenance tools to the administrator of the network. Within each node 14;15 there is at least one hardware platform called an application platform 16, 18; 17, 19 which includes processing capability and is responsible for carrying out the various procedures of the node, e.g. routing of calls, particularly Intelligent Routing (IR) of calls. The application platform 16, 18; 17, 19 is preferably duplicated within each node to provide service continuity if there is a component failure in one of the platforms 16, 18; 17, 19. Thus, node 14 includes a primary application node (API) 16 and a secondary application platform (AP2) 18. Each of application platforms 16,18; 17, 19 obtains its user data from an associated application platform database 21, 22, 23, 24 respectively. The CDBS database holds the master database for the network, i.e. the CDBS database is the centralized repository of the user data stored in the application platform databases 21-24. At all times the data in the CDBS database should ideally be consistent with the data in the application databases 21-28, i.e. ideally all the remote databases 21-24 should be updated instantaneously with any changes made to the CDBS database. In practice, it is normally sufficient to update databases 21-24 at intervals of a few minutes or of hours.
The monitor 3, the terminals 5,6 and the workstation 20 allow provisioning of the CDBS either directly or via the network. To allow communication between the nodes 14, 15 and the CDBS 2, routers 7, 10 and 11 and telephone or other communication lines 8, 9 may be provided. The application platforms 16, 18 and 17, 19 are connected by Local Area Networks (LAN) 4, 12, 13 as may be the monitors 5, 6 and the CDBS 2. The complete network 1 may be configured as a Wide Area Network (WAN). A typical communication protocol within the WAN could be TCP/IP as is well known from the Internet.
During provisioning of the CDBS 2 user records may be amended. These amendments need to be distributed to the other nodes 14, 15 as soon as and as accurately as possible. Changes made centrally to the CDBS database by provisioning, e.g. a change in the dialing number of a subscriber, addition of a client, addition of a new dialing prefix, are propagated from the CDBS 2 to the local IR databases 21; 23 on the primary application platforms 16; 17 of each node 14, 15. The databases 22; 24 of the secondary application platforms 18; 19 are updated from the primary application platforms 16; 17, respectively. If the secondary database 22; 23 cannot be updated for some reason, updates to the primary database are rolled back to keep the two databases 21, 22; 23, 24 consistent.
A method of updating software in a telecommunications network is known from GB-A-2 264 575 which involves a script corresponding to a software version having an associated active time, the script being sent to every site within the network together with the associated active time. The software becomes available at each node in accordance with the associated active time. This method involves the generally known concept of data stamping and has the disadvantage that the new software and the new corresponding user data must be sent to each node and stored. Thus both the old and the new software as well as the old and new data must be storable at each node. This requires more resources at each node than necessary. Further, a problem can occur if both the new data and the new software are data stamped separately. If the new software installs itself properly but the new data does not or vice-versa, the node does not function correctly after the update. One way of avoiding this is to include the new data and the new software together in an encapsulated self executing package. However, when the data in the databases is stored separately as "home" data, e.g. telephone numbers associated directly with the relevant node, and "foreign" data, i.e. telephone numbers associated with other nodes, each software package must be customized for each node.
The first of these problems has been addressed by WO 94/01819. In this known system both the new software and the change data are sent to the remote node and stored alongside the existing data and software. Means are provided to phase in the new software and its new corresponding data slowly in parallel with the operation of the existing system. This at least theoretically eliminates the problem with date stamping the software update mentioned above but exacerbates the problem with updating user data. As two versions of the software are running on the same node at the same time, not just one but two sets of user data must be kept up-to-date over the period in which both software versions are in operation. Once the software update has been completed the user data updating must return to a single update appropriate for the new software whereas other nodes in the system are still running on the old version of the software.
U.S. Pat. No. 5,212,789 describes a similar method of updating software and user data in a distributed processing environment, e.g. a telephone switching network. In accordance with this known method a software update is loaded on a processor and the new user data therefor is loaded in parallel to the old user data. The processor is restarted using the new software but the old user data. Once all processors have been updated with the new software, a command is given and all the processors change over to using the new user data. This known method suffers from the same problem as WO 94/01819 because in a distributed system it takes a long time to install the new software on each node of the system. Hence, there is a long wait before the complete system may be changed over to the new user data. In this transitional time both old and new user data must be updated by some method. If the system is upgraded node-by-node, there exists in the system nodes with new or old software during a transitional period depending upon whether they have been upgraded or not. No method is described of how to differentially update the differing sets of data present in the system.
The present invention has as its object to provide a telecommunications network and a method of operating the network which solves the problems with the prior art methods of updating software and user data.
The present invention also has the object to provide a telecommunications network and a method of operating the network in which nodes of the network can receive a software update by various means and the user data required for the various software versions can be maintained consistent within the network.
The present invention also has the object to provide a telecommunications network and a method of operating the network in which nodes of the network can receive a software update and the new user data therefor without interruption of call processing on any node.
The present invention also has the object to provide a telecommunications network and a method of operating the network in which user data is stored reliably.